package com.szbmyoubao.app.storage

import com.szbmyoubao.app.ui.service_setting.ServiceModel
import com.ellecity06.common.delegate.mmkvBool
import com.ellecity06.common.delegate.mmkvInt
import com.ellecity06.common.delegate.mmkvParcelable
import com.ellecity06.common.delegate.mmkvString
import java.text.SimpleDateFormat
import java.util.Date


/**
 * @author ellecity06
 * @time 2023/4/15 10:29
 * @des 存储一些用户保存的信息
 */
class AppStorage {
    companion object {
        /**
         * token
         */
        var token by mmkvString()


        var useLocalId by mmkvBool(default = false)

        /**
         * token的过期时间 单位是 s
         */
        var tokenExpiresIn by mmkvInt()

        var lastLoginTime by mmkvString()

        /**
         * 当前环境
         */
        var serviceKey by mmkvString()

        /**
         * 当前环境配置
         */
        var serviceConfig by mmkvParcelable<ServiceModel>()

        /**
         * 是否已经同意协议
         */
        var agreement by mmkvBool("showAgreementV1", false)

        /**
         * 启动图标
         */
        var launcherIcon by mmkvString("launcherIcon", "")

        /**
         * 判断是否是当日第一次登陆
         */
        fun isTodayFirstLogin(block: () -> Unit) {
            //取
            val df = SimpleDateFormat("yyyy-MM-dd") // 设置日期格式
            // 获取当前的日期
            val todayTime = df.format(Date())
            if (lastLoginTime.isNullOrEmpty() || lastLoginTime != todayTime) {
                // 第一次登录
                block.invoke()
                lastLoginTime = todayTime
            } else {
                // 不是第一次登录

            }

        }

    }
}